package org.example.domain.strategy.service;

import org.example.domain.strategy.model.entity.StrategyAwardStockKeyVO;

/**
 * 抽奖库存相关服务，获取库存消耗队列
 */
public interface IRaffleStock {
    /**
     * 获取库存队列
     */
    StrategyAwardStockKeyVO takeQueueValue() throws InterruptedException;


    /**
     * 更新奖品库存
     */
    void updateStrategyAwardStock(Long strategyId,Integer awardId);

    /**
     * 获取奖品库存消耗队列
     *
     * @return 奖品库存Key信息
     * @throws InterruptedException 异常
     */
    StrategyAwardStockKeyVO takeQueueValue(Long strategyId, Integer awardId) throws InterruptedException;

}
